package demo;

public class Dog extends Animal{
    //extends表示继承，Animal(父类/基类/超类) Dog(子类/派生类)

    public String color;

    static {
        System.out.println("Dog的静态代码块(子类静态代码块第二执行)");
    }

    {
        System.out.println("Dog的实例代码块(子类实例代码块第五执行)");
    }

    public Dog(){
        super("小黑",10);
    }

    public Dog(String name, int age) {
        super(name, age);
        System.out.println("Dog类带两个参数的构造方法(子类构造方法第六执行)");
    }

    public Dog(String name, int age,String color) {

        //super和this不能再静态方法static中使用、不同时存在
        super(name, age);                             //先调用父类初始化构造方法
        this.color = color;                           //再初始化子类
    }

    public void bark(){
        System.out.println(this.name + "正在汪汪叫...");
    }

}
